The present invention relates generally to adapter devices and more particularly to adapter devices which are constrained in having a single access point to an external communications bus.
In many interfaces used to interface adapter cards to other processors in network and data processing systems, the adapter card is limited to a single access point to the card. For example, in the Peripheral Component Interconnect (PCI) standard each adapter card is limited to a single media access controller (MAC) which interfaces to the PCI bus. An example of this single access point architecture is seen in FIG. 1 which illustrates a conventional system incorporating multiple network adapter cards.
As seen in FIG. 1, conventional network adapters 20, 20xe2x80x2, such as Ethernet adapters, utilize a sing MAC 22 to communicate with a PCI connection 12 over the PCI bus 14. The MAC 22 may communicate with a single or multiple physical interfaces (PHYS) 24 over a media independent interface (MII) 23 which is an industry standard interface for communicating with a PHY. As is seen in FIG. 1, conventionally, the network adapter cards are limited to a single function type per card in that only PHYs are connected to the MAC 22 over the MII bus 23.
Conventionally, if functions other than a single function, such as a PHY, were desired, a MAC would access the PCI bus 14 on a separate card and then the separate card would be coupled to the adapter card. For example, switch ports and an Ethernet switch would conventionally be communicated with over an Ethernet connection. Alternatively, while the inventors are aware of any specific examples of such an adapter card, if multiple functions were desired on a single adapter, as seen in FIG. 2, conventionally, the PCI bus generally would be replicated on a single card 28 through the use of a PCI to PCI bridge 26 and then individual MACs 22 or other bridges 30 would be connected to the replicated PCI bus 14xe2x80x2. These MACs 22 and bridges 25 could then be used to access the multiple functions, such as the switch ports 32 and Ethernet switch 34 of FIG. 2. Thus, the single access point of the card could be maintained, however, the card""s complexity would be greatly increased by the addition of the bridge to replicate the PCI bus, as well as the inclusion of separate MACs or bridges for each function. Such a system may be further complicated because separate device drivers would typically need to be written to interface to each replicated PCI bus interface on the card. Thus, for a two function card with two replicated PCI bus connections, two device drivers may be required.
In light of the complexity of adding functions to adapter cards where a single access point is required, a need exists for improvements in adapters which perform multiple functions but which are limited to a single access point to an external bus.
In view of the above discussion, it is an object of the present invention to provide for multiple functions in a single adapter.
A further object of the present invention is to provide multiple functions in a single adapter which does not require multiple device drivers.
Still another object of the present invention is to provide enhanced functions to network adapters which may be incorporated without modification to existing industry standard interfaces.
These and other objects of the present invention are provided by interfacing to the industry standard function specific bus, such as the MII bus utilizing management functions of the bus. The management functions are utilized to communicate with the enhanced features of the adapter card or to combine features on a single adapter without requiring replication of the external communications bus on the adapter. Such use of the management functions may be accomplished without changing the interface or operation of the interface to the primary functions of the adapter. Furthermore, because the functions are provided through the management features of the internal bus, a single device driver may be utilized for the adapter, thus reducing the complexity of programming for the adapter.
Thus, according to one embodiment of the present invention, an integrated network adapter device is provided with a media access controller (MAC) which provides a single point of access to an external communications bus. The external communications bus is configured so as to allow only a single medium access controller for an adapter device. A dedicated internal communications interface is configured so as to interface to circuits providing a network interface function so as to allow communications between network interfaces and the external communications bus through the single media access controller. At least one first circuit which provides a network interface function which communicates over the dedicated internal communications interface to communicate over the external communications bus is also provided. Furthermore, at least one second circuit which provides a function other than a network interface function and which is configured so as to communicate utilizing the dedicated internal communications interface to communicate over the external communications bus is also provided.
In further embodiments, the second circuit communicates over the dedicated internal communications interface to communicate over the external communications bus utilizing management functions of the dedicated internal communications interface. Furthermore, data portions of the management functions of the dedicated internal communications interface may be re-mapped to correspond to the function other than the network interface function. Thus, the present invention allows for the inclusion of the second function utilizing the dedicated internal interface without impacting the use of the interface by the first function.
Such a non-obtrusive incorporation of multiple functions may be accomplished by the second circuit being assigned an unused address of the dedicated internal communications interface. Communications between the external communications bus and the second circuit would then comprise management function communications to the unused address assigned to the second circuit.
In specific embodiments of the present invention, the media access controller comprises a Peripheral Component Interconnect (PCI) media access controller. The dedicated internal communications interface may be an Ethernet media independent interface (MII). Also, the first circuit may be a network physical interface (PHY). The second circuit may be a hardware address filter function. The first circuit may also be an Ethernet switch, where user traffic for ports of the Ethernet switch is communicated over the MII and where control of the Ethernet switch is provided over a bus other than the MII bus. Then, the second circuit may be an adapter for converting communications on the bus other than the MII bus to MII communications so as to allow control of the Ethernet switch from the PCI bus through the MAC.
In further embodiments of the present invention, methods and systems are provided for communicating to multiple functions on a single adapter device over an external communications bus, where the external communications bus is configured so as to allow only a single access point to the external communications bus for each adapter device. Communications on the external communications bus are provided through the single access point to functions of a first type in the adapter device utilizing a function specific communications interface configured for communicating with functions of the first type. Communications on the external communications bus are also provided through the single access point to functions in the adapter device other than functions of the first type utilizing management capabilities of the function specific communications interface so as to provide communications with the functions of the second type without modifying the configuration of the function specific communications interface.
In further embodiments of the methods and systems, functions in the adapter device other than functions of the first type are assigned an unused address of the function specific communications interface. Communications on the external communications bus through the single access point to functions in the adapter device other than functions of the first type are then provided by management function communications to the unused address assigned to the functions other than the first type.
In still another embodiment, data associated with management function communications with the functions other than the functions of the first type is re-mapped so as to provide function specific communications with the functions other than the function of the first type.